#pragma once

#include <fstream>
#include <string>
#include <vector>
#include "TreeNode.h"
#include "Parser.h"
#include "QueryProcessorWrapper.h"
#include "DesignExtractor.h"
#include "AST.h"

using namespace std;

class FrontEndController {
	private:
		Parser *parser;
		PKB *pkb;
		DesignExtractor *de;
		
		QueryProcessorWrapper *queryProcessor;

	public:
		FrontEndController(void);
		~FrontEndController(void);
		void frontEndInit();
		void frontEndParse(string filename);
		void frontEndParseManual(string source);
		vector<string> frontEndEvaluate(string query);
};